package com.baseframe.user.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baseframe.mybatis.utils.PageInfo;
import com.baseframe.tool.result.R;
import com.baseframe.user.entity.BaseUser;
import com.baseframe.user.entity.request.BaseUserRequest;
import com.baseframe.user.entity.vo.BaseUserVO;

import java.util.List;

/**

* @description 针对表【base_user(用户表)】的数据库操作Service
* @createDate 2023-05-20 19:25:46
*/
public interface BaseUserService extends IService<BaseUser> {
    Page<BaseUserVO> getUserPage(Page<BaseUserVO> page, BaseUserRequest request);


    boolean sealUser(BaseUserRequest request);

    boolean setRole(BaseUserRequest request);

    BaseUserVO getUserInfo(Long userId);

    boolean updateUserinfo(BaseUserRequest request);

    boolean bindingEmail(BaseUserRequest request);

    List<BaseUserVO> searchUser(String searchValue);

    R<Object> updatePassword(String newPassword, String oldPassword);

    R<Object> resetPassword(BaseUserRequest request);

    boolean bindingPhone(BaseUserRequest request);

    boolean register(BaseUserRequest request);
}
